layui.use(['table', 'layer'], function () {
    var layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        table = layui.table;

    /**
     * 营销机会列表展示
     */var tableIns = table.render({
        elem: '#ResolveOrList', // 表格绑定的ID
        url: ctx + '/resolve/list', // 访问数据的地址
        cellMinWidth: 95,
        page: true, // 开启分⻚
        height: "full-125",
        limits: [10, 15, 20, 25],
        limit: 10,
        toolbar: "#toolbarDemo",
        id: "ResolveOrListTable",
        cols: [[
            {type: "checkbox", fixed: "center"},
            {field: "id", title: '服务单号', fixed: "true"},
            {field: 'createTime', title: '申请时间', align: "center"},
            {field: 'userName', title: '用户账号', align: 'center'},
            {field: 'count', title: '退款金额', align: 'center'},
            {
                field: 'state', title: '申请状态', align: 'center', templet: function (d) {
                    return formatterState(d.state);
                }
            },
            {field: 'resolveTime', title: '处理时间', align: 'center'},
            {
                title: '操作', templet: '#ResolveOrListBar', fixed: "right", align: "center",
                minWidth: 150
            }
        ]]
    });


    /**
     * 格式化分订单类型
     * @param state
     * @returns {string}
     */
    function formatterState(odState) {
        if (odState == "0") {
            return "<div style='color: grey'>待处理</div>";
        } else if (odState == "1") {
            return "<div style='color: green'>已同意</div>";
        }else if (odState == "2") {
            return "<div style='color: red'>已拒绝</div>";
        }
    }


    $(".search_btn").click(function () {
        table.reload('ResolveOrListTable', {
            where: {
                id: $("#id").val(),
                userName: $("#userName").val(),
                state: $("#state").val(),
            },
            page: {
                curr: 1
            }
        });
    });

    /**
     * 头部⼯具栏 监听事件
     */
    table.on('toolbar(ResolveOr)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        switch (obj.event) {
            case 'add':
                // 点击添加按钮，打开添加营销机会的对话框
                openAddOrUpdatedeleteResolveOrDialog();
                break;
            case  'del':
                deleteResolveOr(checkStatus.data);
        }
        ;
    });

    /**
     * 删除营销机会数据
     * @param data
     */
    function deleteResolveOr(data) {
        // 判断⽤户是否选择了要删除的记录
        if (data.length == 0) {
            layer.msg("请选择要删除的记录！");
            return;
        }
        // 询问⽤户是否确认删除
        layer.confirm("您确定要删除选中的记录吗？", {
            btn: ["确认", "取消"],
        }, function (index) {
            // 关闭确认框
            layer.close(index);
            // ids=1&ids=2&ids=3
            var ids = "ids=";
            // 遍历获取对应的id
            for (var i = 0; i < data.length; i++) {
                if (i < data.length - 1) {
                    ids = ids + data[i].id + "&ids=";
                } else {
                    ids = ids + data[i].id;
                }
            }
            // 发送ajax请求，删除记录
            $.ajax({
                type: "post",
                url: ctx + "/resolve/deleteMore",
                data: ids, // 参数传递的是数组
                dataType: "json",
                success: function (result) {
                    if (result.code == 200) {
                        // 加载表格
                        tableIns.reload();
                    } else {
                        layer.msg(result.msg, {icon: 5});
                    }
                }
            });
        });
    }

        /**
         * 打开添加营销机会的对话框
         */
        function openDetailDialog(data) {
            var url = ctx + "/order/detail?id="+data.id;
            var index = layui.layer.open({
                type: 2,
                content: url,
                maxmin: true
            });
            layui.layer.full(index);
        }

    function openSendDialog(data) {
        var url = ctx + "/order/toSendPage?id="+data.id;
        var index = layui.layer.open({
            type: 2,
            content: url,
            maxmin: true
        });
        layui.layer.full(index);
    }

        table.on('tool(ResolveOr)', function (obj) {
            var data = obj.data; // 获得当前⾏数据
            var layEvent = obj.event; // 获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）

            // 判断事件类型
            if (layEvent === 'edit') { // 编辑操作
                // 获取当前要修改的⾏的id
                var OrdersId = data.id;
                // 点击表格⾏的编辑按钮，打开更新营销机会的对话框
                openDetailDialog(data);
            }else if (layEvent == "del"){
                layer.confirm("确定要删除这条记录吗?",{icon: 3,title:"营销机会数据管理"},function (index){
                    layer.close(index);
                    $.ajax({
                        type:"post",
                        url: ctx + "/resolve/delete",
                        data:{
                            ids:data.id
                        },
                        dataType: "json",
                        success:function (result){
                            if (result.code == 200) {
                                // 加载表格
                                tableIns.reload();
                            } else {
                                layer.msg(result.msg, {icon: 5});
                            }
                        }
                    })
                })
            }else if (layEvent === 'yes') { // 编辑操作
                layer.confirm("同意当前退货申请?",{icon: 3,title:"退货申请处理"},function (index){
                    layer.close(index);
                    $.ajax({
                        type:"post",
                        url: ctx + "/resolve/yesorno",
                        data:{
                            id:data.id,
                            state:1
                        },
                        dataType: "json",
                        success:function (result){
                            if (result.code == 200) {
                                // 加载表格
                                tableIns.reload();
                            } else {
                                layer.msg(result.msg, {icon: 5});
                            }
                        }
                    })
                })
            }else if (layEvent === 'no') { // 编辑操作
                layer.confirm("拒绝当前退货申请?", {icon: 3, title: "退货申请处理"}, function (index) {
                    layer.close(index);
                    $.ajax({
                        type: "post",
                        url: ctx + "/resolve/yesorno",
                        data: {
                            id: data.id,
                            state: 2
                        },
                        dataType: "json",
                        success: function (result) {
                            if (result.code == 200) {
                                // 加载表格
                                tableIns.reload();
                            } else {
                                layer.msg(result.msg, {icon: 5});
                            }
                        }
                    })
                })
            }else if (layEvent === 'content') { // 编辑操作
                layer.prompt({

                    formType: 2, //输入框类型，支持0（文本）默认1（密码）2（多行文本）

                    title:'添加备注',

                    area: ['400px', '100px'] //自定义文本域宽高

                },function(value, index, elem){
                    $.ajax({
                        type: "post",
                        url: ctx + "/resolve/content",
                        data: {
                            id: data.id,
                            content: value
                        },
                        dataType: "json",
                        success: function (result) {
                            if (result.code == 200) {
                                // 加载表格
                                tableIns.reload();
                                layer.msg("备注添加成功",{icon:6})
                            } else {
                                layer.msg(result.msg, {icon: 5});
                            }
                        }
                    })

                    layer.close(index);

                })
            }
        });
    });